// 横屏加载页面
class LoadingPage {
  constructor(canvas, ctx, gameManager, api, rootImgUrl) {
    this.canvas = canvas;
    this.ctx = ctx;
    this.gameManager = gameManager;
    this.api = api;
    this.rootImgUrl = rootImgUrl
    this.logo = wx.createImage();
    this.loginBtn = wx.createImage();
  }

  onEnter() {
    console.log('进入横屏加载页面');
    this.loadResources();
  }

  onLeave() {
    console.log('离开加载页面');
  }

  // // 在你的游戏逻辑中，例如点击某个头像按钮时
  // getUserProfileInfo() {
  //   wx.getUserProfile({
  //     desc: '用于完善会员资料', // 声明获取用户个人信息后的用途，不超过30个字符
  //     success: (res) => {
  //       console.log('获取用户信息成功：', res);
  //       const { userInfo } = res;
  //       const { nickName, avatarUrl } = userInfo;

  //       // 保存到本地存储
  //       wx.setStorageSync('userNickName', nickName);
  //       wx.setStorageSync('userAvatarUrl', avatarUrl);

  //       // 更新游戏界面显示
  //       this.updateUserUI({
  //         nickName,
  //         avatarUrl
  //       });

  //       wx.showToast({
  //         title: '授权成功',
  //         icon: 'success'
  //       });
  //     },
  //     fail: (err) => {
  //       console.error('用户拒绝授权:', err);
  //       wx.showToast({
  //         title: '您取消了授权',
  //         icon: 'none'
  //       });
  //     }
  //   });
  // }

  loadResources() {
    // 加载游戏Logo
    this.logo.src = this.rootImgUrl + 'loadingLog.png';
    // 加载按钮图片
    this.loginBtn.src = this.rootImgUrl + 'loadingBtn.png';

    // 资源加载完成后开始渲染
    let loadedCount = 0;
    const totalResources = 2;

    const checkLoaded = () => {
      loadedCount++;
      if (loadedCount === totalResources) {
        this.render();
      }
    };
    this.logo.onload = checkLoaded;
    this.loginBtn.onload = checkLoaded;
  }

  update() {
    // 横屏加载页面的更新逻辑
  }

  getTextWidthByCanvas(text, font) {
    this.ctx.font = font; // 需指定完整字体样式，如 "16px 微软雅黑"
    return this.ctx.measureText(text).width;
  }

  render() {
    // 横屏背景
    this.ctx.fillStyle = '#fff';
    this.ctx.fillRect(0, 0, this.canvas.width, this.canvas.height);

    this.ctx.drawImage(this.logo, this.canvas.width / 2 - 225, 108, 450, 164);
    this.ctx.drawImage(this.loginBtn, this.canvas.width / 2 - this.loginBtn.width / 2, 552, 224, 80);

    // 横屏标题
    this.ctx.fillStyle = '#161109';
    this.ctx.textBaseline = 'top';
    this.ctx.font = 'bold 44px Microsoft YaHei-Bold';
    const tx0 = '健康游戏忠告'
    this.ctx.fillText(tx0, this.canvas.width / 2 - this.getTextWidthByCanvas(tx0, 'bold 44px Microsoft YaHei-Bold') / 2, 292);

    // 2. 绘制中间“健康游戏忠告”文字
    this.ctx.fillStyle = '#150F04';
    this.ctx.font = '36px Microsoft YaHei-Regular'; // 正文字体
    const tx1 = '抵制不良游戏，拒绝盗版游戏。注意自我保护，谨防受骗上当。'
    this.ctx.fillText(tx1, this.canvas.width / 2 - this.getTextWidthByCanvas(tx1, '36px Microsoft YaHei-Regular') / 2, 378); // 绘制第一行忠告
    const tx2 = '适度游戏益脑，沉迷游戏伤身。合理安排时间，享受健康生活。'
    this.ctx.fillText(tx2, this.canvas.width / 2 - this.getTextWidthByCanvas(tx2, '36px Microsoft YaHei-Regular') / 2, 448); // 绘制第二行忠告

    // 3. 绘制左下角“著作权人”信息
    this.ctx.fillStyle = '#000000';
    this.ctx.font = '20px Microsoft YaHei-Regular'; // 版权信息字体
    const tx3 = '著作权人：长沙财趣宝库信息科技合伙企业（有限合伙） 登记号：2018SR955664 版本号：1.0.0'
    this.ctx.fillText(tx3, this.canvas.width / 2 - this.getTextWidthByCanvas(tx3, '20px Microsoft YaHei-Regular') / 2, 708); // 绘制版权信息

    // 4. 绘制中间“开始”按钮
    this.ctx.fillStyle = 'black'; // 按钮文字色
    this.ctx.font = '36px Microsoft YaHei'; // 按钮字体
    this.ctx.fillText('开始', 774, 578); // 绘制“开始”文字
  }

  handleTouch(x, y) {
    console.log('用户数据:', this.gameManager.getUserData());

    if (this.gameManager.getUserData()) {
      // 检查是否点击了练习场按钮
      if (x >= 350 && x <= 462 && y >= 276 && y <= 316) {
        //this.getUserProfileInfo();
        this.gameManager.switchPage('dailyReward');
      }
    }
  }

  handleTouchMove(x, y) { }

  handleTouchEnd(e) { }

  handleKeyDown(e) {
    if (e.keyCode === 32) {

    }
  }
}

export default LoadingPage;